ULAMLEX “Ulam’s Conjecture lexfile”. SIZE: 78 bytes. *** ULAMLEX *** (31950) File Header (319A8) A0/1B ULAM(#) (31A23) Next File Header ULAM(x) calculates how many steps it takes for x to get to 1 by repeated application of the Syracuse algorithm. Here's the Syracuse algorithm: If x is even, replace it with x/2, otherwise replace it with 3x+1. Ulam's Conjecture is that no matter what x you start with, you'll eventually get down to 1. For this to be true, no x can grow without bound, nor get stuck in a loop above 1. ULAM(27)=111 because if you start at 27 it takes 111 steps (iterations of the Syracuse algorithm) to get to 1. This iterative function is useless in itself, but there's £1000 awaiting the one who can prove (or disprove, or find a counterexample) that any number will eventually reach 1. To date, NOBODY has any idea how to prove it, or prove that it can or can't be proven, or even how to start working on such a proof. Most mathematicians are of the opinion that proving/disproving Ulam's Conjecture will require the tools of a branch of mathematics which has not even been invented yet. Ulam's Conjecture is often listed among the greatest unsolved mathematical problems of all time: easy to state, intractable to solve. However, Stanislaw Ulam didn't invent it; it was misattributed to him early in its life, and the name stuck. It is also known as the "3x+1 Problem". If you are tempted to write a program that checks larger and larger inputs, then see the SYRACUSE lexfile, which uses a faster algorithm for the same purpose.